#include "strutturaicone.h"




IcoLine::IcoLine()  
{
    it = "Des.italiano";
    de = "Des.deutsch";
    fr = "Des.francaise";
    en = "Des.english";
    info << "TTF" << "R.";   /* numero remoto */
    nummer = qMakePair(1,0); 
    chars = QChar(65);
    cate = 1;
}

void IcoLine::update_rid( const int numeroti )
{
	nummer = qMakePair(nummer.first,numeroti); 
}


QPixmap IcoLine::erno_pix() {
            /* default icon to draw ins */
            QPixmap pError = QPixmap(_ALTEZZA_PICO_,_ALTEZZA_PICO_);
            pError.fill( QColor(Qt::white)  );
            QPen pen;
            pen.setStyle( Qt::SolidLine );
            pen.setWidth( 1 );
            pen.setColor(QColor(_DEFAULT_COLOR_ATT_ICON_));
            QRectF rectangle(0,0,_ALTEZZA_PICO_ - 1,_ALTEZZA_PICO_ - 1);
            QPainter *p = new QPainter(&pError);
            p->setRenderHint(QPainter::Antialiasing, true);
            p->setPen(pen);
            p->drawRect(rectangle);
            p->end();
            return pError;
}

void IcoLine::set_pics( const QPixmap * barcode )
{
      if (barcode->isNull()) {
        pics = erno_pix();
				cate = 0;
      } else {
       pics = barcode->scaled(_ALTEZZA_PICO_,_ALTEZZA_PICO_,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
      }
}
void IcoLine::set_pics( const QPixmap barcode )
    {
      if (barcode.isNull()) {
        pics = erno_pix();
				cate = 0;
      } else {
       pics = barcode.scaled(_ALTEZZA_PICO_,_ALTEZZA_PICO_,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
      }
}

IcoLine::operator QVariant() const {
    return QVariant::fromValue(*this);
}

IcoLine IcoLine::operator=( IcoLine d )
    {
			
			qDebug() << "### operator =  " << d.info;
			
      it = d.it;
      de = d.de;
      fr = d.fr;
      en = d.en;
      info = d.info;
      nummer = d.nummer;
      cate = d.cate;
      pics = d.pics;
      return *this;
    }

		
		
		
		
		
		
		
QPixmap IcoLine::pix()
{
      if (pics.isNull()) {
          return erno_pix();
      } else {
          return pics;
      }
}

QPixmap IcoLine::pixbn()
{
	return GreyScalePi(pix());
}


QMap<int,int> NumerazioneIconeValidate()
{
	QMap<int,int> numerazione;
	               QString numero;
	int posizione = 0;
                 for (int i = 1000;i  < 1074; ++i)  {
									  /////numero.setNum(i);
									  posizione++;
									  numerazione.insert(posizione,i);
								 }
								  for (int x = 405;x  < 437; ++x)  {
									  ///////numero.setNum(o);
									  posizione++;
									  numerazione.insert(posizione,x);
									 
								 }
								 
								 for (int o = 2000;o  < 2032; ++o)  {
									  ///////numero.setNum(o);
									  posizione++;
									  numerazione.insert(posizione,o);
									 
								 }
								 for (int u = 3000;u  < 3100; ++u)  {
									  ///////numero.setNum(u);
									  posizione++;
									  numerazione.insert(posizione,u);
									 
								 }
								 numerazione.insert(posizione+1,2229);
								 numerazione.insert(posizione+2,2232);
								 numerazione.insert(posizione+3,2234);
								 numerazione.insert(posizione+4,2235);
								 numerazione.insert(posizione+5,2238);
								 numerazione.insert(posizione+6,2255);
								 
								 
								  /* numero mio -  numero remoto */
 return numerazione;
}


QMap<int,int> TraduzioneIconeValidate()    /* swap values */
{
	   QMap<int,int> tradotti;
	  QMap<int,int> numvengono = NumerazioneIconeValidate();
	     QMapIterator <int,int> d(numvengono);
	       while (d.hasNext()) {
						d.next();
					  tradotti.insert(d.value(),d.key());   /* numero remoto -  numero mio */
				 }
		return tradotti;
}




